<?php
/**
 * 選手管理データクラスモジュール
 */
require_once 'Lib/Xml.php';
require_once 'models/Players/Stuffcontroller.php';

/**
 * 選手管理データクラス
 *
 */
class Models_Players_Xml_Stuffcontroller extends Models_Players_Stuffcontroller
{
	/**
	 * XMLファイル形式のデータファイルを読み込む
	 * Enter description here ...
	 * @param string $strFileName XMLファイル名
	 */
	public function loadFromFile( $strFileName='' )
	{
		if ( $strFileName == '' ) {
			$strFileName = dirname( __FILE__ ) . '/databox/static.xml';
			$this->_strFileName = $strFileName;
		}
		$objXml = new Lib_Xml;
		$aryDataList = $objXml->loadFromFile( $strFileName, array( self::KEY_PLAYER ) );
		if ( $aryDataList === FALSE ) {
			$this->_aryDataList = FALSE;
			return FALSE;
		}
		$this->_aryDataList = $aryDataList[self::KEY_LIST][self::KEY_PLAYER];

		/***
		 * 不整合IDを抹消する
		 */
		$iCount = count( $this->_aryDataList );
		$i = 0;
		while ( $i < $iCount ) {
			if ( !isset( $this->_aryDataList[$i][self::KEY_ID] ) ) {
				unset( $this->_aryDataList[$i] );
			} else if ( $this->_aryDataList[$i][self::KEY_ID] == '' ) {
				unset( $this->_aryDataList[$i] );
			}
			$i ++;
		}
		return $this->_aryDataList;
	}

	/**
	 * 選手データリストをXML形式でファイルに保存する
	 * Enter description here ...
	 * @param string $strFileName
	 */
	public function saveToFile( $strFileName = '' )
	{
		if ( $this->_aryDataList === FALSE ) {
			return FALSE;
		}
		if ( $strFileName == '' ) {
			if ( $this->_strFileName != '' ) {
				$strFileName = $this->_strFileName;
			} else {
				return FALSE;
			}
		}
		$aryDataList[self::KEY_LIST][self::KEY_PLAYER] = $this->_aryDataList;
		$objXml = new Lib_Xml;
		$objXml->aryXml = $aryDataList;
		$status = $objXml->saveToFile( $strFileName );
		return $status;
	}
}